home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Programming / AmigaE / Src / Class / Stack / stack.e next >
Text File  |  1992-09-02  |  543b  |  36 lines

  1. -> Jaaaa, a true STACK in E! :-)
  2.  
  3. OPT MODULE
  4.  
  5. EXPORT OBJECT stack
  6.   PRIVATE d:PTR TO LONG
  7. ENDOBJECT
  8.  
  9. PROC stack() OF stack                -> constructor
  10.   self.d:=NIL
  11. ENDPROC
  12.  
  13. PROC is_empty() OF stack IS self.d=NIL
  14.  
  15. PROC push(x) OF stack
  16.   self.d:=NEW [self.d,x]:LONG
  17. ENDPROC
  18.  
  19. PROC pop() OF stack
  20.   DEF a:PTR TO LONG,b
  21.   IF a:=self.d
  22.     self.d:=a[]; b:=a[1]
  23.     END a[2]
  24.   ELSE
  25.     Raise("estk")
  26.   ENDIF
  27. ENDPROC b
  28.  
  29. PROC end() OF stack                -> destructor
  30.   DEF a:PTR TO LONG,b:PTR TO LONG
  31.   a:=self.d
  32.   WHILE a
  33.     b:=a; a:=a[]; END b[2]
  34.   ENDWHILE
  35. ENDPROC
  36.